/**
 * @file cm_led_test.c
 * @author jmdvirus
 * @date 2021-06-22 15:06:52
 */

#include <assert.h>

#include "cm_led_ctrl.h"

void led_test()
{
    /**
     * impl 是具体的操作手法，即操作实现
     * context 是操作内容，即用一种操作手法，可复用式的操作多个不同设备
     */
    CMLedImpl *implno = cm_led_ctrl_find("notexist");
    assert(implno == NULL);

    CMLedContext ledContext;
    CMLedImpl *impl = cm_led_ctrl_find("led_normal");
    assert(impl != NULL);

    impl->open(&ledContext, "somedevice");
    impl->on(&ledContext);
    impl->off(&ledContext);
    impl->close(&ledContext);
}

int main(int argc, char **args)
{
    led_test();
    getchar();
    return 0;
}
